home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Eagles Nest BBS 8
/
Eagles_Nest_Mac_Collection_Disc_8.TOAST
/
Developer Tools⁄Additions
/
InsideBa1994
/
InsideBasic-94
/
IB 94
/
VolumeFreeSpace
/
VolumeFreeSpace.BAS
Wrap
BASIC Source File
|
1993-05-05
|
1KB
|
35 lines
CLEAR LOCAL
LOCAL FN VolumeFreeSpace (pbPtr&, formatFlag)
freeSpace& = pbPtr&.ioVFrBlk% 'get number of free blocks
LONG IF freeSpace& < 0 'less than zero?
freeSpace& = freeSpace& + &FFFF 'convert to real count
END IF
freeSpace& = freeSpace&*pbPtr&.ioVAlBlkSiz&'free blks x blk size
LONG IF formatFlag ' should we format this?
freeSpace& = freeSpace& / 1024 ' if yes, make megabytes
END IF
END FN = freeSpace& ' return space on volume
CLEAR LOCAL
DIM pbBlk.128, 63 vName$
LOCAL FN GetVolNames
pbBlk.ioNamePtr& = @vName$ 'pointer to volume name
pbBlk.ioVRefNum% = 0 'don't need vol ref num
pbBlk.ioVolIndex% = 1 'start with 1st volume
DO
osErr% = FN GETVOLINFO (@pbBlk) 'get original volume info
LONG IF osErr% = _noErr 'no error?
PRINT pbBlk.ioVolIndex%,vName$,;'show volume name
PRINT FN VolumeFreeSpace (@pbBlk, _true);"K"'show free space
INC WORD (@pbBlk.ioVolIndex%) 'seek next mounted volume
END IF
UNTIL osErr% <> 0
END FN = osErr%
FN GetVolNames
INPUT R$